#include "ThreadPool.hpp"
#include "Task.hpp"
#include <memory>

using namespace ThreadPoolModule;

int main()
{
    ENABLE_CONSOLE_LOG();
    //单例：创建并启动
    ThreadPool<task_t>::getInstance()->Start();
    int cnt = 5;
    while(cnt)
    {
        //入队列
        ThreadPool<task_t>::getInstance()->Equeue(Push);
        cnt--;
        sleep(1);
    }
    //停止
    ThreadPool<task_t>::getInstance()->Stop();
    //等待
    ThreadPool<task_t>::getInstance()->Wait();
    
    return 0;
}






// int main()
// {
//     //ENABLE_CONSOLE_LOG();
//      ENABLE_FILE_LOG();

//     std::unique_ptr<ThreadPool<task_t>> tp = std::make_unique<ThreadPool<task_t>>();
//     tp->Start();

//     int cnt = 10;
//     //char c;
//     while (true)
//     {
//         //std::cin >> c;
//         tp->Equeue(Push);
//         cnt--;
//         sleep(1);
//     }

//     tp->Stop();

//     sleep(3);

//     tp->Wait();

//     return 0;
// }